package com.wiscamp.ninechapters.problems.application.dto.vo.problems;

import com.wiscamp.ninechapters.ddd.ViewObject;
import lombok.Data;

import java.util.ArrayList;
import java.util.Collection;

@Data
public class QuestionVO implements ViewObject {
    /**
     * 题编号
     */
    private long problemId = 0;

    /**
     * 题类型编号
     */
    private long problemTypeId = 0;

    /**
     * 问题类型编号
     */
    private long questionTypeId = 0;

    /**
     * 问题编号
     */
    private long questionId;

    /**
     * 问题序号
     */
    private int questionIndex;

    /**
     * 问题超文本
     */
    private String questionHypertext;

    /**
     * 问题翻译
     */
    private String questionTranslation = "";

    /**
     * 问题难度
     */
    private int difficulty;

    /**
     * 答题时间限制
     */
    private int timeLimit = 0;

    /**
     * 问题分数
     */
    private int questionScore = 0;

    /**
     * 是否需要提交解题步骤
     */
    private boolean needSteps = false;

    /**
     * 是否有选项
     */
    private boolean hasOptions = false;

    /**
     * 选项列表
     */
    private Collection<OptionVO> options = new ArrayList<>();

    /**
     * 是否有多个答案
     */
    private boolean hasMultipleAnswers = false;

    /**
     * 答案列表
     */
    private Collection<AnswerVO> answers = new ArrayList<>();


    /**
     * 解题思路列表
     */
    private Collection<SolutionVO> solutions = new ArrayList<>();


    private SolutionVO preferredSolution = null;
}
